- Notifications
You must be signed in to change notification settings - Fork 849
/
Copy pathOML4SQL Clustering KM.dsnb
executable file
·1 lines (1 loc) · 56.4 KB
/
OML4SQL Clustering KM.dsnb
1
[{"layout":null,"template":null,"templateConfig":null,"name":"OML4SQL Clustering KM","description":null,"readOnly":false,"type":"low","paragraphs":[{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":null,"title":null,"message":[],"enabled":true,"result":{"startTime":1715349415993,"interpreter":"md.low","endTime":1715349416157,"results":[],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":0,"hideResult":true,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","## Identifying Customer Segments using K-Means Clustering","","Oracle Machine Learning supports clustering using several algorithms, including k-Means, O-Cluster, and Expectation Maximization. In this notebook, we illustrate how to identify natural clusters of customers using the CUSTOMERS dataset from the SH schema using the unsupervised learning k-Means algorithm. The data exploration, preparation, and machine learning executes inside Oracle Autonomous Database.","","See the documentation link below for details on the K-Means in-database algortihm.","","Copyright (c) 2024 Oracle Corporation ","###### <a href=\"https://oss.oracle.com/licenses/upl/\" onclick=\"return ! window.open('https://oss.oracle.com/licenses/upl/');\">The Universal Permissive License (UPL), Version 1.0<\/a>","---"],"enabled":true,"result":{"startTime":1715349416281,"interpreter":"md.low","endTime":1715349416384,"results":[{"message":"<h2 id=\"identifying-customer-segments-using-k-means-clustering\">Identifying Customer Segments using K-Means Clustering<\/h2>\n<p>Oracle Machine Learning supports clustering using several algorithms, including k-Means, O-Cluster, and Expectation Maximization. In this notebook, we illustrate how to identify natural clusters of customers using the CUSTOMERS dataset from the SH schema using the unsupervised learning k-Means algorithm. The data exploration, preparation, and machine learning executes inside Oracle Autonomous Database.<\/p>\n<p>See the documentation link below for details on the K-Means in-database algortihm.<\/p>\n<p>Copyright (c) 2024 Oracle Corporation<\/p>\n<h6 id=\"the-universal-permissive-license-upl-version-10\"><a href=\"https://oss.oracle.com/licenses/upl/\" onclick=\"return ! window.open('https://oss.oracle.com/licenses/upl/');\">The Universal Permissive License (UPL), Version 1.0<\/a><\/h6>\n<hr />\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":9,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md",""],"enabled":true,"result":{"startTime":1715349416467,"interpreter":"md.low","endTime":1715349416540,"results":[{"message":"<p><img src=\"http://www.oracle.com/technetwork/database/options/advanced-analytics/clustering-5663171.jpg\" alt=\"tiny arrow\" title=\"tiny arrow\" /><\/p>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":3,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":"For more information...","message":["%md ","","* <a href=\"https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/index.html\" target=\"_blank\">Oracle ADB Documentation<\/a>","* <a href=\"https://github.com/oracle-samples/oracle-db-examples/tree/main/machine-learning\" target=\"_blank\">OML folder on Oracle GitHub<\/a>","* <a href=\"https://www.oracle.com/machine-learning\" target=\"_blank\">OML Web Page<\/a>","* <a href=\"https://www.oracle.com/goto/ml-clustering\" target=\"_blank\">OML Clustering<\/a>","* <a href=\"https://oracle.com/goto/ml-k-means\" target=\"_blank\">OML K-Means<\/a>"],"enabled":true,"result":{"startTime":1715349416617,"interpreter":"md.low","endTime":1715349416689,"results":[{"message":"<ul>\n<li><a href=\"https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/index.html\" target=\"_blank\">Oracle ADB Documentation<\/a><\/li>\n<li><a href=\"https://github.com/oracle-samples/oracle-db-examples/tree/main/machine-learning\" target=\"_blank\">OML folder on Oracle GitHub<\/a><\/li>\n<li><a href=\"https://www.oracle.com/machine-learning\" target=\"_blank\">OML Web Page<\/a><\/li>\n<li><a href=\"https://www.oracle.com/goto/ml-clustering\" target=\"_blank\">OML Clustering<\/a><\/li>\n<li><a href=\"https://oracle.com/goto/ml-k-means\" target=\"_blank\">OML K-Means<\/a><\/li>\n<\/ul>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"raw","title":"Create view joining CUSTOMERS and DEMOGRAPHICS","message":["%script","","CREATE OR REPLACE VIEW CUSTOMERS360_V AS"," SELECT a.CUST_ID, a.CUST_GENDER, a.CUST_MARITAL_STATUS, "," a.CUST_YEAR_OF_BIRTH, a.CUST_INCOME_LEVEL, a.CUST_CREDIT_LIMIT, "," b.EDUCATION, b.AFFINITY_CARD, "," b.HOUSEHOLD_SIZE, b.OCCUPATION, b.YRS_RESIDENCE, b.Y_BOX_GAMES"," FROM SH.CUSTOMERS a, SH.SUPPLEMENTARY_DEMOGRAPHICS b"," WHERE a.CUST_ID = b.CUST_ID;"," "],"enabled":true,"result":{"startTime":1715349416771,"interpreter":"script.low","endTime":1715349418672,"results":[{"message":"\nView CUSTOMERS360_V created.\n\n\n---------------------------\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"raw","title":"Count number of records in CUSTOMERS360_V","message":["%sql","","SELECT COUNT(*) FROM CUSTOMERS360_V;"],"enabled":true,"result":{"startTime":1715349418746,"interpreter":"sql.low","endTime":1715349418894,"results":[{"message":"COUNT(*)\n4500\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Display data in view CUSTOMERS360_V","message":["%sql","","SELECT * ","FROM CUSTOMERS360_V","FETCH FIRST 10 ROWS ONLY;"],"enabled":true,"result":{"startTime":1715349418976,"interpreter":"sql.low","endTime":1715349419071,"results":[{"message":"CUST_ID\tCUST_GENDER\tCUST_MARITAL_STATUS\tCUST_YEAR_OF_BIRTH\tCUST_INCOME_LEVEL\tCUST_CREDIT_LIMIT\tEDUCATION\tAFFINITY_CARD\tHOUSEHOLD_SIZE\tOCCUPATION\tYRS_RESIDENCE\tY_BOX_GAMES\n100134\tF\tDivorc.\t1965\tL: 300,000 and above\t9000\tAssoc-A\t0\t2\tCleric.\t2\t0\n102828\tF\tNeverM\t1967\tE: 90,000 - 109,999\t10000\tHS-grad\t0\t1\tMachine\t4\t0\n101232\tM\tNeverM\t1979\tJ: 190,000 - 249,999\t9000\t< Bach.\t0\t1\tOther\t2\t1\n100696\tM\tMarried\t1971\tF: 110,000 - 129,999\t7000\tProfsc\t1\t3\tProf.\t3\t0\n103948\tM\tNeverM\t1966\tJ: 190,000 - 249,999\t9000\t< Bach.\t0\t1\tCleric.\t4\t0\n103791\tM\tDivorc.\t1952\tB: 30,000 - 49,999\t3000\tHS-grad\t0\t2\tProf.\t5\t0\n100804\tF\tDivorc.\t1943\tA: Below 30,000\t1500\t< Bach.\t0\t2\tProf.\t6\t0\n101610\tM\tNeverM\t1985\tI: 170,000 - 189,999\t3000\t11th\t0\t1\tHandler\t0\t1\n102308\tM\tNeverM\t1980\tJ: 190,000 - 249,999\t11000\t< Bach.\t0\t2\tProf.\t2\t1\n100593\tM\tMarried\t1963\tG: 130,000 - 149,999\t1500\tHS-grad\t1\t3\tProf.\t4\t0\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","","### Build a k-Means model using the CUSTOMERS360_V view"],"enabled":true,"result":{"startTime":1715349419149,"interpreter":"md.low","endTime":1715349419211,"results":[{"message":"<h3 id=\"build-a-k-means-model-using-the-customers360_v-view\">Build a k-Means model using the CUSTOMERS360_V view<\/h3>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"raw","title":"Build the k-Means Clustering model using default settings","message":["%script","","BEGIN DBMS_DATA_MINING.DROP_MODEL('KM_SH_CLUS_SAMPLE');","EXCEPTION WHEN OTHERS THEN NULL; END;","/","DECLARE"," v_setlst DBMS_DATA_MINING.SETTING_LIST;","BEGIN"," v_setlst('ALGO_NAME') := 'ALGO_KMEANS';",""," DBMS_DATA_MINING.CREATE_MODEL2("," MODEL_NAME => 'KM_SH_CLUS_SAMPLE',"," MINING_FUNCTION => 'CLUSTERING',"," DATA_QUERY => 'select * from CUSTOMERS360_V',"," SET_LIST => v_setlst,"," CASE_ID_COLUMN_NAME => 'CUST_ID');","END;"],"enabled":true,"result":{"startTime":1715349419295,"interpreter":"script.low","endTime":1715349422293,"results":[{"message":"\nPL/SQL procedure successfully completed.\n\n\n---------------------------\n\nPL/SQL procedure successfully completed.\n\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","","### Examples of possible setting overrides for k-Means clustering","","If the user does not override the default settings, then relevant settings are determined by the algorithm.","","A complete list of settings can be found in the Documentation link:","","* <a href=\"https://docs.oracle.com/en/database/oracle/oracle-database/23/arpls/DBMS_DATA_MINING.html#GUID-7010593E-C323-4DFC-8468-D85CE41A0C3C\" target=\"_blank\">Algorithm Settings<\/a>","* <a href=\"https://docs.oracle.com/en/database/oracle/oracle-database/23/arpls/DBMS_DATA_MINING.html#GUID-24047A09-0542-4870-91D8-329F28B0ED75\" target=\"_blank\">Shared Settings<\/a>","","* Specify a missing value treatment method for the training data. This setting does not affect the scoring data. The default value is `ODMS_MISSING_VALUE_AUTO`. The option `ODMS_MISSING_VALUE_MEAN_MODE` replaces missing values with the mean (numeric attributes) or the mode (categorical attributes) both at build time and apply time where appropriate. The option `ODMS_MISSING_VALUE_AUTO` performs different strategies for different algorithms. When `ODMS_MISSING_VALUE_TREATMENT` is set to `ODMS_MISSING_VALUE_DELETE_ROW`, the rows in the training data that contain missing values are deleted. However, if you want to replicate this missing value treatment in the scoring data, then you must perform the transformation explicitly.","> v_setlst('ODMS_MISSING_VALUE_TREATMENT') := 'ODMS_MISSING_VALUE_AUTO'; ","* Specify the maximum number of leaf clusters generated by a clustering algorithm. The algorithm may return fewer clusters, depending on the data. Enhanced k-Means usually produces the exact number of clusters specified by CLUS_NUM_CLUSTERS, unless there are fewer distinct data points. For k-Means and O-Cluster, the default is 10. ","> v_setlst('CLUS_NUM_CLUSTERS') := '5';","* Specify the distance function for k-Means. It requires either the function `KMNS_COSINE` or `KMNS_EUCLIDEAN`. The default distance function is `KMNS_EUCLIDEAN`. ","> v_setlst('KMNS_DISTANCE') := 'KMNS_EUCLIDEAN'; ","* Specify this setting which determines the level of cluster detail that are computed during the build. It requires one of the following options:","> `KMNS_DETAILS_NONE`: No cluster details are computed. Only the scoring information is persisted.","> `KMNS_DETAILS_HIERARCHY`: Cluster hierarchy and cluster record counts are computed. This is the default value.","> `KMNS_DETAILS_ALL`: Cluster hierarchy, record counts, descriptive statistics (means, variances, modes, histograms, and rules) are computed.","> v_setlst('KMNS_DETAILS') := 'KMNS_DETAILS_ALL'; ","* Specify the Maximum number of iterations for k-Means. The algorithm iterates until either the maximum number of iterations is reached or the minimum Convergence Tolerance, specified in `KMNS_CONV_TOLERANCE`, is satisfied. It requires a positive integer, and the default number of iterations is 20. ","> v_setlst('KMNS_ITERATIONS') := '3';","* Specify the number of bins in the attribute histogram produced by k-means. The bin boundaries for each attribute are computed globally on the entire training data set. The binning method is equi-width. All attributes have the same number of bins with the exception of attributes with a single value that have only one bin. It requires a positive integer, and the default number of histogram bins is 11. ","> v_setlst('KMNS_NUM_BINS') := '10'; "],"enabled":true,"result":{"startTime":1715349422377,"interpreter":"md.low","endTime":1715349422457,"results":[{"message":"<h3 id=\"examples-of-possible-setting-overrides-for-k-means-clustering\">Examples of possible setting overrides for k-Means clustering<\/h3>\n<p>If the user does not override the default settings, then relevant settings are determined by the algorithm.<\/p>\n<p>A complete list of settings can be found in the Documentation link:<\/p>\n<ul>\n<li>\n<p><a href=\"https://docs.oracle.com/en/database/oracle/oracle-database/23/arpls/DBMS_DATA_MINING.html#GUID-7010593E-C323-4DFC-8468-D85CE41A0C3C\" target=\"_blank\">Algorithm Settings<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https://docs.oracle.com/en/database/oracle/oracle-database/23/arpls/DBMS_DATA_MINING.html#GUID-24047A09-0542-4870-91D8-329F28B0ED75\" target=\"_blank\">Shared Settings<\/a><\/p>\n<\/li>\n<li>\n<p>Specify a missing value treatment method for the training data. This setting does not affect the scoring data. The default value is <code>ODMS_MISSING_VALUE_AUTO<\/code>. The option <code>ODMS_MISSING_VALUE_MEAN_MODE<\/code> replaces missing values with the mean (numeric attributes) or the mode (categorical attributes) both at build time and apply time where appropriate. The option <code>ODMS_MISSING_VALUE_AUTO<\/code> performs different strategies for different algorithms. When <code>ODMS_MISSING_VALUE_TREATMENT<\/code> is set to <code>ODMS_MISSING_VALUE_DELETE_ROW<\/code>, the rows in the training data that contain missing values are deleted. However, if you want to replicate this missing value treatment in the scoring data, then you must perform the transformation explicitly.<\/p>\n<\/li>\n<\/ul>\n<blockquote>\n<p>v_setlst('ODMS_MISSING_VALUE_TREATMENT') := 'ODMS_MISSING_VALUE_AUTO';<\/p>\n<\/blockquote>\n<ul>\n<li>Specify the maximum number of leaf clusters generated by a clustering algorithm. The algorithm may return fewer clusters, depending on the data. Enhanced k-Means usually produces the exact number of clusters specified by CLUS_NUM_CLUSTERS, unless there are fewer distinct data points. For k-Means and O-Cluster, the default is 10.<\/li>\n<\/ul>\n<blockquote>\n<p>v_setlst('CLUS_NUM_CLUSTERS') := '5';<\/p>\n<\/blockquote>\n<ul>\n<li>Specify the distance function for k-Means. It requires either the function <code>KMNS_COSINE<\/code> or <code>KMNS_EUCLIDEAN<\/code>. The default distance function is <code>KMNS_EUCLIDEAN<\/code>.<\/li>\n<\/ul>\n<blockquote>\n<p>v_setlst('KMNS_DISTANCE') := 'KMNS_EUCLIDEAN';<\/p>\n<\/blockquote>\n<ul>\n<li>Specify this setting which determines the level of cluster detail that are computed during the build. It requires one of the following options:<\/li>\n<\/ul>\n<blockquote>\n<p><code>KMNS_DETAILS_NONE<\/code>: No cluster details are computed. Only the scoring information is persisted.\n<code>KMNS_DETAILS_HIERARCHY<\/code>: Cluster hierarchy and cluster record counts are computed. This is the default value.\n<code>KMNS_DETAILS_ALL<\/code>: Cluster hierarchy, record counts, descriptive statistics (means, variances, modes, histograms, and rules) are computed.\nv_setlst('KMNS_DETAILS') := 'KMNS_DETAILS_ALL';<\/p>\n<\/blockquote>\n<ul>\n<li>Specify the Maximum number of iterations for k-Means. The algorithm iterates until either the maximum number of iterations is reached or the minimum Convergence Tolerance, specified in <code>KMNS_CONV_TOLERANCE<\/code>, is satisfied. It requires a positive integer, and the default number of iterations is 20.<\/li>\n<\/ul>\n<blockquote>\n<p>v_setlst('KMNS_ITERATIONS') := '3';<\/p>\n<\/blockquote>\n<ul>\n<li>Specify the number of bins in the attribute histogram produced by k-means. The bin boundaries for each attribute are computed globally on the entire training data set. The binning method is equi-width. All attributes have the same number of bins with the exception of attributes with a single value that have only one bin. It requires a positive integer, and the default number of histogram bins is 11.<\/li>\n<\/ul>\n<blockquote>\n<p>v_setlst('KMNS_NUM_BINS') := '10';<\/p>\n<\/blockquote>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"raw","title":"Build a k-Means Clustering model using explicit settings","message":["%script","","BEGIN DBMS_DATA_MINING.DROP_MODEL('KM_SH_CLUS_SAMPLE');","EXCEPTION WHEN OTHERS THEN NULL; END;","/","DECLARE"," v_setlst DBMS_DATA_MINING.SETTING_LIST;","BEGIN"," v_setlst('ALGO_NAME') := 'ALGO_KMEANS';"," V_setlst('PREP_AUTO') := 'ON';"," V_setlst('KMNS_DISTANCE') := 'KMNS_EUCLIDEAN';"," V_setlst('KMNS_DETAILS') := 'KMNS_DETAILS_ALL';"," V_setlst('KMNS_ITERATIONS') := '3';"," V_setlst('KMNS_NUM_BINS') := '10';",""," DBMS_DATA_MINING.CREATE_MODEL2("," MODEL_NAME => 'KM_SH_CLUS_SAMPLE',"," MINING_FUNCTION => 'CLUSTERING',"," DATA_QUERY => 'select * from CUSTOMERS360_V',"," SET_LIST => v_setlst,"," CASE_ID_COLUMN_NAME => 'CUST_ID');","END;"],"enabled":true,"result":{"startTime":1715349422544,"interpreter":"script.low","endTime":1715349425542,"results":[{"message":"\nPL/SQL procedure successfully completed.\n\n\n---------------------------\n\nPL/SQL procedure successfully completed.\n\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Display the model signature","message":["%sql ","","-- The model signature includes the attributes used in model training data,","-- and also corresponds to the attributes expected to apply the model to new data. ","","SELECT ATTRIBUTE_NAME, ATTRIBUTE_TYPE","FROM USER_MINING_MODEL_ATTRIBUTES","WHERE MODEL_NAME = 'KM_SH_CLUS_SAMPLE'","ORDER BY ATTRIBUTE_NAME;"],"enabled":true,"result":{"startTime":1715349425617,"interpreter":"sql.low","endTime":1715349425713,"results":[{"message":"ATTRIBUTE_NAME\tATTRIBUTE_TYPE\nAFFINITY_CARD\tNUMERICAL\nCUST_CREDIT_LIMIT\tNUMERICAL\nCUST_GENDER\tCATEGORICAL\nCUST_INCOME_LEVEL\tCATEGORICAL\nCUST_MARITAL_STATUS\tCATEGORICAL\nCUST_YEAR_OF_BIRTH\tNUMERICAL\nEDUCATION\tCATEGORICAL\nHOUSEHOLD_SIZE\tCATEGORICAL\nOCCUPATION\tCATEGORICAL\nYRS_RESIDENCE\tNUMERICAL\nY_BOX_GAMES\tNUMERICAL\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Display the model metadata","message":["%sql ","","SELECT MODEL_NAME, MINING_FUNCTION, ALGORITHM, CREATION_DATE, PARTITIONED","FROM USER_MINING_MODELS","WHERE MODEL_NAME = 'KM_SH_CLUS_SAMPLE';"],"enabled":true,"result":{"startTime":1715349425791,"interpreter":"sql.low","endTime":1715349425886,"results":[{"message":"MODEL_NAME\tMINING_FUNCTION\tALGORITHM\tCREATION_DATE\tPARTITIONED\nKM_SH_CLUS_SAMPLE\tCLUSTERING\tKMEANS\t2024-05-10 13:57:03\tNO\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Display the actual settings used by the algorithm","message":["%sql","","SELECT SETTING_NAME, SETTING_VALUE","FROM USER_MINING_MODEL_SETTINGS","WHERE MODEL_NAME = 'KM_SH_CLUS_SAMPLE'","ORDER BY SETTING_NAME;"],"enabled":true,"result":{"startTime":1715349425964,"interpreter":"sql.low","endTime":1715349426059,"results":[{"message":"SETTING_NAME\tSETTING_VALUE\nALGO_NAME\tALGO_KMEANS\nCLUS_NUM_CLUSTERS\t10\nKMNS_CONV_TOLERANCE\t.001\nKMNS_DETAILS\tKMNS_DETAILS_ALL\nKMNS_DISTANCE\tKMNS_EUCLIDEAN\nKMNS_ITERATIONS\t3\nKMNS_MIN_PCT_ATTR_SUPPORT\t.1\nKMNS_NUM_BINS\t10\nKMNS_RANDOM_SEED\t0\nKMNS_SPLIT_CRITERION\tKMNS_VARIANCE\nODMS_DETAILS\tODMS_ENABLE\nODMS_MISSING_VALUE_TREATMENT\tODMS_MISSING_VALUE_AUTO\nODMS_SAMPLING\tODMS_SAMPLING_DISABLE\nPREP_AUTO\tON\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Display the k-Means model detail views","message":["%sql ","","-- Display the list of available cluster model detail views as indicated in VIEW_TYPE","-- Cluster details are presented as separate views depending on the desired information.","","SELECT VIEW_NAME, VIEW_TYPE FROM USER_MINING_MODEL_VIEWS","WHERE MODEL_NAME='KM_SH_CLUS_SAMPLE'","ORDER BY VIEW_NAME;"],"enabled":true,"result":{"startTime":1715349426148,"interpreter":"sql.low","endTime":1715349426241,"results":[{"message":"VIEW_NAME\tVIEW_TYPE\nDM$VAKM_SH_CLUS_SAMPLE\tClustering Attribute Statistics\nDM$VCKM_SH_CLUS_SAMPLE\tk-Means Scoring Centroids\nDM$VDKM_SH_CLUS_SAMPLE\tClustering Description\nDM$VGKM_SH_CLUS_SAMPLE\tGlobal Name-Value Pairs\nDM$VHKM_SH_CLUS_SAMPLE\tClustering Histograms\nDM$VNKM_SH_CLUS_SAMPLE\tNormalization and Missing Value Handling\nDM$VRKM_SH_CLUS_SAMPLE\tClustering Rules\nDM$VSKM_SH_CLUS_SAMPLE\tComputed Settings\nDM$VWKM_SH_CLUS_SAMPLE\tModel Build Alerts\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Show Cluster details","message":["%sql","","-- For each cluster_id, this DM$VD* view provides the number of records ","-- in the cluster, the parent cluster id, the level in the hierarchy, and dispersion.","-- Dispersion is a measure of cluster quality, and computationally, ","-- the sum of square errors.","","SELECT CLUSTER_ID CLU_ID, RECORD_COUNT RECORD_CNT, PARENT, "," TREE_LEVEL, ROUND(TO_NUMBER(DISPERSION),3) DISPERSION","FROM DM$VDKM_SH_CLUS_SAMPLE","ORDER BY CLUSTER_ID;"],"enabled":true,"result":{"startTime":1715349426323,"interpreter":"sql.low","endTime":1715349426444,"results":[{"message":"CLU_ID\tRECORD_CNT\tPARENT\tTREE_LEVEL\tDISPERSION\n1\t4500\t\t1\t5.008\n2\t3139\t1\t2\t5.091\n3\t1361\t1\t2\t4.817\n4\t2097\t2\t3\t5.043\n5\t1042\t2\t3\t5.188\n6\t641\t5\t4\t5.287\n7\t401\t5\t4\t5.03\n8\t499\t3\t3\t5.044\n9\t862\t3\t3\t4.686\n10\t1970\t4\t4\t4.943\n11\t127\t4\t4\t6.598\n12\t1713\t10\t5\t4.752\n13\t257\t10\t5\t6.216\n14\t1322\t12\t6\t4.643\n15\t391\t12\t6\t5.12\n16\t789\t14\t7\t5.049\n17\t533\t14\t7\t4.041\n18\t431\t16\t8\t4.974\n19\t358\t16\t8\t5.14\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"raw","title":"Show leaf clusters IDs","message":["%sql","","-- Show leaf IDs to know for which clusters to show detail","","SELECT CLUSTER_ID","FROM DM$VDKM_SH_CLUS_SAMPLE","WHERE LEFT_CHILD_ID IS NULL AND RIGHT_CHILD_ID IS NULL","ORDER BY CLUSTER_ID"],"enabled":true,"result":{"startTime":1715349426522,"interpreter":"sql.low","endTime":1715349426619,"results":[{"message":"CLUSTER_ID\n6\n7\n8\n9\n11\n13\n15\n17\n18\n19\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":4,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Show Cluster details for cluster 18","message":["%sql","","-- For cluster_id 18, this output lists all the attributes that constitute the centroid, with the mean (for numericals) ","-- or mode (for categoricals). It also includes the variance.","","SELECT CLUSTER_ID, ATTRIBUTE_NAME, ATTRIBUTE_SUBNAME, MEAN, VARIANCE, MODE_VALUE","FROM DM$VAKM_SH_CLUS_SAMPLE","WHERE CLUSTER_ID = 18","ORDER BY ATTRIBUTE_NAME, ATTRIBUTE_SUBNAME;"],"enabled":true,"result":{"startTime":1715349426693,"interpreter":"sql.low","endTime":1715349426786,"results":[{"message":"CLUSTER_ID\tATTRIBUTE_NAME\tATTRIBUTE_SUBNAME\tMEAN\tVARIANCE\tMODE_VALUE\n18\tAFFINITY_CARD\t\t0.0\t0.0\t\n18\tCUST_CREDIT_LIMIT\t\t9802.784222737806\t5061015.48589003\t\n18\tCUST_GENDER\t\t\t\tF\n18\tCUST_INCOME_LEVEL\t\t\t\tJ: 190,000 - 249,999\n18\tCUST_MARITAL_STATUS\t\t\t\tDivorc.\n18\tCUST_YEAR_OF_BIRTH\t\t1965.7447795823666\t29.73936221874493\t\n18\tEDUCATION\t\t\t\tHS-grad\n18\tHOUSEHOLD_SIZE\t\t\t\t9+\n18\tOCCUPATION\t\t\t\tCleric.\n18\tYRS_RESIDENCE\t\t3.491879350348028\t0.9435385528516701\t\n18\tY_BOX_GAMES\t\t0.0\t0.0\t\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":8,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":"[{\"table\":{\"version\":1},\"bar\":{\"groupByColumns\":[\"BIN_ID\"],\"showSeries\":[\"COUNT\"],\"aggregationOption\":\"Last\",\"series\":{\"availableSeriesElements\":[{\"id\":\"COUNT\",\"lineType\":\"straight\",\"borderColor\":\"rgb(25, 95, 116)\",\"borderWidth\":0,\"color\":\"rgb(25, 95, 116)\",\"pattern\":\"auto\",\"markerColor\":\"rgb(25, 95, 116)\",\"markerDisplayed\":\"auto\",\"markerShape\":\"auto\",\"markerSize\":0}]},\"lastColumns\":[\"CLUSTER_ID\",\"ATTRIBUTE_NAME\",\"BIN_ID\",\"COUNT\",\"LOWER_BIN_BOUNDARY\",\"UPPER_BIN_BOUNDARY\"],\"version\":1},\"scatterplot\":{\"showSeriesX\":[\"BIN_ID\"],\"showSeriesY\":[\"COUNT\"],\"label\":[],\"extraDescription\":[],\"showLabel\":\"no\",\"showDescription\":\"no\",\"lastColumns\":[\"CLUSTER_ID\",\"ATTRIBUTE_NAME\",\"BIN_ID\",\"LOWER_BIN_BOUNDARY\",\"UPPER_BIN_BOUNDARY\",\"COUNT\"],\"version\":1},\"sunburst\":{\"groupByColumns\":[],\"sizeSeries\":[],\"colorSeries\":[],\"lastColumns\":[\"CLUSTER_ID\",\"ATTRIBUTE_NAME\",\"BIN_ID\",\"LOWER_BIN_BOUNDARY\",\"UPPER_BIN_BOUNDARY\",\"COUNT\"],\"version\":1},\"tree\":{},\"pie\":{\"groupByColumns\":[],\"showSeries\":[\"COUNT\"],\"lastColumns\":[\"CLUSTER_ID\",\"ATTRIBUTE_NAME\",\"BIN_ID\",\"LOWER_BIN_BOUNDARY\",\"UPPER_BIN_BOUNDARY\",\"COUNT\"],\"version\":1},\"area\":{\"showSeries\":[\"COUNT\"],\"series\":{\"availableSeriesElements\":[{\"id\":\"COUNT\",\"lineType\":\"straight\",\"borderColor\":\"rgb(25, 95, 116)\",\"borderWidth\":0,\"color\":\"rgb(25, 95, 116)\",\"pattern\":\"auto\",\"markerColor\":\"rgb(25, 95, 116)\",\"markerDisplayed\":\"auto\",\"markerShape\":\"auto\",\"markerSize\":0}]},\"lastColumns\":[\"CLUSTER_ID\",\"ATTRIBUTE_NAME\",\"BIN_ID\",\"COUNT\",\"LOWER_BIN_BOUNDARY\",\"UPPER_BIN_BOUNDARY\"],\"version\":1}}]","hideInIFrame":false,"selectedVisualization":"bar","title":"Show histogram for attribute YRS_RESIDENCE of cluster 6","message":["%sql","","SELECT CLUSTER_ID, ATTRIBUTE_NAME, TO_CHAR(BIN_ID) BIN_ID, COUNT,"," ROUND(LOWER_BIN_BOUNDARY,3) LOWER_BIN_BOUNDARY, "," ROUND(UPPER_BIN_BOUNDARY,3) UPPER_BIN_BOUNDARY","FROM DM$VHKM_SH_CLUS_SAMPLE","WHERE CLUSTER_ID = 6 AND ATTRIBUTE_NAME = 'YRS_RESIDENCE'","ORDER BY BIN_ID;"],"enabled":true,"result":{"startTime":1715349426865,"interpreter":"sql.low","endTime":1715349426960,"results":[{"message":"CLUSTER_ID\tATTRIBUTE_NAME\tBIN_ID\tCOUNT\tLOWER_BIN_BOUNDARY\tUPPER_BIN_BOUNDARY\n6\tYRS_RESIDENCE\t1\t8\t0\t1.556\n6\tYRS_RESIDENCE\t2\t121\t1.556\t3.111\n6\tYRS_RESIDENCE\t3\t271\t3.111\t4.667\n6\tYRS_RESIDENCE\t4\t239\t4.667\t6.222\n6\tYRS_RESIDENCE\t5\t2\t6.222\t7.778\n6\tYRS_RESIDENCE\t6\t0\t7.778\t9.333\n6\tYRS_RESIDENCE\t7\t0\t9.333\t10.889\n6\tYRS_RESIDENCE\t8\t0\t10.889\t12.444\n6\tYRS_RESIDENCE\t9\t0\t12.444\t14\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":"[{\"bar\":{\"groupByColumns\":[\"BIN_ID\"],\"showSeries\":[\"COUNT\"],\"aggregationOption\":\"Last\",\"series\":{\"availableSeriesElements\":[{\"id\":\"COUNT\",\"lineType\":\"straight\",\"borderColor\":\"rgb(25, 95, 116)\",\"borderWidth\":0,\"color\":\"rgb(25, 95, 116)\",\"pattern\":\"auto\",\"markerColor\":\"rgb(25, 95, 116)\",\"markerDisplayed\":\"auto\",\"markerShape\":\"auto\",\"markerSize\":0}]},\"lastColumns\":[\"CLUSTER_ID\",\"ATTRIBUTE_NAME\",\"BIN_ID\",\"COUNT\",\"LOWER_BIN_BOUNDARY\",\"UPPER_BIN_BOUNDARY\"],\"version\":1}}]","hideInIFrame":false,"selectedVisualization":"bar","title":"Show histogram for attribute YRS_RESIDENCE of cluster 9","message":["%sql","","SELECT CLUSTER_ID, ATTRIBUTE_NAME, TO_CHAR(BIN_ID) BIN_ID, COUNT,"," ROUND(LOWER_BIN_BOUNDARY,3) LOWER_BIN_BOUNDARY, "," ROUND(UPPER_BIN_BOUNDARY,3) UPPER_BIN_BOUNDARY","FROM DM$VHKM_SH_CLUS_SAMPLE","WHERE CLUSTER_ID = 9 AND ATTRIBUTE_NAME = 'YRS_RESIDENCE'","ORDER BY BIN_ID;"],"enabled":true,"result":{"startTime":1715349427033,"interpreter":"sql.low","endTime":1715349427110,"results":[{"message":"CLUSTER_ID\tATTRIBUTE_NAME\tBIN_ID\tCOUNT\tLOWER_BIN_BOUNDARY\tUPPER_BIN_BOUNDARY\n9\tYRS_RESIDENCE\t1\t195\t0\t1.556\n9\tYRS_RESIDENCE\t2\t620\t1.556\t3.111\n9\tYRS_RESIDENCE\t3\t36\t3.111\t4.667\n9\tYRS_RESIDENCE\t4\t11\t4.667\t6.222\n9\tYRS_RESIDENCE\t5\t0\t6.222\t7.778\n9\tYRS_RESIDENCE\t6\t0\t7.778\t9.333\n9\tYRS_RESIDENCE\t7\t0\t9.333\t10.889\n9\tYRS_RESIDENCE\t8\t0\t10.889\t12.444\n9\tYRS_RESIDENCE\t9\t0\t12.444\t14\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Show bin boundaries for YRS_RESIDENCE","message":["%sql","","SELECT CLUSTER_ID, ATTRIBUTE_NAME, BIN_ID, COUNT,"," ROUND(LOWER_BIN_BOUNDARY,3) LOWER_BIN_BOUNDARY, ROUND(UPPER_BIN_BOUNDARY,3) UPPER_BIN_BOUNDARY","FROM DM$VHKM_SH_CLUS_SAMPLE","WHERE ATTRIBUTE_NAME = 'YRS_RESIDENCE'","ORDER BY BIN_ID","FETCH FIRST 20 ROWS ONLY"],"enabled":true,"result":{"startTime":1715349427190,"interpreter":"sql.low","endTime":1715349427288,"results":[{"message":"CLUSTER_ID\tATTRIBUTE_NAME\tBIN_ID\tCOUNT\tLOWER_BIN_BOUNDARY\tUPPER_BIN_BOUNDARY\n1\tYRS_RESIDENCE\t1\t324\t0\t1.556\n19\tYRS_RESIDENCE\t1\t0\t0\t1.556\n18\tYRS_RESIDENCE\t1\t10\t0\t1.556\n17\tYRS_RESIDENCE\t1\t4\t0\t1.556\n16\tYRS_RESIDENCE\t1\t10\t0\t1.556\n15\tYRS_RESIDENCE\t1\t1\t0\t1.556\n14\tYRS_RESIDENCE\t1\t14\t0\t1.556\n13\tYRS_RESIDENCE\t1\t0\t0\t1.556\n12\tYRS_RESIDENCE\t1\t15\t0\t1.556\n11\tYRS_RESIDENCE\t1\t12\t0\t1.556\n10\tYRS_RESIDENCE\t1\t15\t0\t1.556\n9\tYRS_RESIDENCE\t1\t195\t0\t1.556\n8\tYRS_RESIDENCE\t1\t94\t0\t1.556\n7\tYRS_RESIDENCE\t1\t0\t0\t1.556\n6\tYRS_RESIDENCE\t1\t8\t0\t1.556\n5\tYRS_RESIDENCE\t1\t8\t0\t1.556\n4\tYRS_RESIDENCE\t1\t27\t0\t1.556\n3\tYRS_RESIDENCE\t1\t289\t0\t1.556\n2\tYRS_RESIDENCE\t1\t35\t0\t1.556\n1\tYRS_RESIDENCE\t2\t1586\t1.556\t3.111\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","In the following example, the view shows attribute level details for the rule associated with each cluster id. ","","For an attribute, support indicates the number of records that fall within the attribute range specified in the rule antecedent where the given attribute is not null. ","Confidence is a number between 0 and 1 that indicates how relevant this attribute is in distinguishing the records in the cluster from all the records in the whole data.","The larger the number, the more relevant the attribute."," ","The query below reverse-transforms the data to its original values, since the data used for building the model was normalized."],"enabled":true,"result":{"startTime":1715349427371,"interpreter":"md.low","endTime":1715349427436,"results":[{"message":"<p>In the following example, the view shows attribute level details for the rule associated with each cluster id.<\/p>\n<p>For an attribute, support indicates the number of records that fall within the attribute range specified in the rule antecedent where the given attribute is not null.\nConfidence is a number between 0 and 1 that indicates how relevant this attribute is in distinguishing the records in the cluster from all the records in the whole data.\nThe larger the number, the more relevant the attribute.<\/p>\n<p>The query below reverse-transforms the data to its original values, since the data used for building the model was normalized.<\/p>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Display rule details for leaf clusters","message":["%sql","","SELECT CLUSTER_ID, ATTRIBUTE_NAME, OPERATOR,"," ROUND(NUMERIC_VALUE,3) NUMERIC_VALUE, ATTRIBUTE_VALUE, ROUND(SUPPORT,3) SUPPORT, ROUND(CONFIDENCE,3) CONFIDENCE","FROM DM$VRKM_SH_CLUS_SAMPLE ","WHERE cluster_id IN (SELECT cluster_id"," FROM DM$VDKM_SH_CLUS_SAMPLE"," WHERE LEFT_CHILD_ID is NULL and RIGHT_CHILD_ID is NULL)","ORDER BY CLUSTER_ID, ATTRIBUTE_NAME, ATTRIBUTE_SUBNAME, OPERATOR, NUMERIC_VALUE, ATTRIBUTE_VALUE","FETCH FIRST 20 ROWS ONLY;"],"enabled":true,"result":{"startTime":1715349427515,"interpreter":"sql.low","endTime":1715349427636,"results":[{"message":"CLUSTER_ID\tATTRIBUTE_NAME\tOPERATOR\tNUMERIC_VALUE\tATTRIBUTE_VALUE\tSUPPORT\tCONFIDENCE\n6\tAFFINITY_CARD\t<=\t1\t\t641\t0.177\n6\tAFFINITY_CARD\t>\t0.889\t\t641\t0.177\n6\tCUST_CREDIT_LIMIT\t<=\t15000\t\t641\t0.002\n6\tCUST_CREDIT_LIMIT\t>=\t1500\t\t641\t0.002\n6\tCUST_GENDER\t=\t\tM\t517\t0.019\n6\tCUST_INCOME_LEVEL\tIN\t\tB: 30,000 - 49,999\t610\t0.003\n6\tCUST_INCOME_LEVEL\tIN\t\tC: 50,000 - 69,999\t610\t0.003\n6\tCUST_INCOME_LEVEL\tIN\t\tE: 90,000 - 109,999\t610\t0.003\n6\tCUST_INCOME_LEVEL\tIN\t\tF: 110,000 - 129,999\t610\t0.003\n6\tCUST_INCOME_LEVEL\tIN\t\tG: 130,000 - 149,999\t610\t0.003\n6\tCUST_INCOME_LEVEL\tIN\t\tH: 150,000 - 169,999\t610\t0.003\n6\tCUST_INCOME_LEVEL\tIN\t\tI: 170,000 - 189,999\t610\t0.003\n6\tCUST_INCOME_LEVEL\tIN\t\tJ: 190,000 - 249,999\t610\t0.003\n6\tCUST_INCOME_LEVEL\tIN\t\tK: 250,000 - 299,999\t610\t0.003\n6\tCUST_INCOME_LEVEL\tIN\t\tL: 300,000 and above\t610\t0.003\n6\tCUST_MARITAL_STATUS\t=\t\tMarried\t576\t0.065\n6\tCUST_YEAR_OF_BIRTH\t<=\t1977.889\t\t627\t0.047\n6\tCUST_YEAR_OF_BIRTH\t>\t1945.444\t\t627\t0.047\n6\tEDUCATION\tIN\t\t< Bach.\t604\t0.014\n6\tEDUCATION\tIN\t\tAssoc-A\t604\t0.014\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":"[{\"table\":{\"version\":1},\"bar\":{\"aggregationOption\":\"Last\",\"visualizations\":{\"sortingValue\":\"descending\"},\"series\":{\"availableSeriesElements\":[{\"id\":\"CLUS\",\"lineType\":\"straight\",\"borderColor\":\"rgb(25, 95, 116)\",\"borderWidth\":0,\"color\":\"rgb(25, 95, 116)\",\"pattern\":\"auto\",\"markerColor\":\"rgb(25, 95, 116)\",\"markerDisplayed\":\"auto\",\"markerShape\":\"auto\",\"markerSize\":0}]},\"axis\":{\"x\":{\"title\":\"Cluster ID\"},\"y\":{\"title\":\"Count\"}},\"lastColumns\":[\"CLUSTER_ID\",\"CNT\"],\"version\":1}}]","hideInIFrame":false,"selectedVisualization":"bar","title":"Apply model to CUSTOMERS360_V and display customer count per cluster","message":["%sql","","-- For a descriptive machine learning technique like Clustering, \"scoring\" involves assigning each record to a cluster, with a certain probability. ","-- However, you can also obtain the probability of a record belonging to each cluster.","-- Hover over bars in the bar chart to view the size of each cluster. ","","SELECT CLUSTER_ID(KM_SH_CLUS_SAMPLE USING *) AS CLUSTER_ID, "," COUNT(*) AS CNT ","FROM CUSTOMERS360_V","GROUP BY CLUSTER_ID(KM_SH_CLUS_SAMPLE USING *)","ORDER BY CNT DESC;"],"enabled":true,"result":{"startTime":1715349427714,"interpreter":"sql.low","endTime":1715349427813,"results":[{"message":"CLUSTER_ID\tCNT\n9\t862\n6\t641\n17\t533\n8\t499\n18\t431\n7\t401\n15\t391\n19\t358\n13\t257\n11\t127\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"List top ten customers most likely in cluster 6","message":["%sql","","SELECT CUST_ID, "," ROUND(CLUSTER_PROBABILITY(KM_SH_CLUS_SAMPLE, 6 USING *),3) PROB","FROM CUSTOMERS360_V","ORDER BY PROB DESC","FETCH FIRST 10 ROWS ONLY;"],"enabled":true,"result":{"startTime":1715349427893,"interpreter":"sql.low","endTime":1715349428012,"results":[{"message":"CUST_ID\tPROB\n104474\t0.245\n101386\t0.245\n103381\t0.243\n102605\t0.243\n103923\t0.243\n101530\t0.241\n100101\t0.24\n102250\t0.24\n100838\t0.239\n101968\t0.239\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":5,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"List three most relevant attributes for specific customers and likely cluster assignments","message":["%sql","","-- For customer id, pick among 101362, 102087 or 100456. These represent customers ","-- with > 20% likelihood of assignment to their cluster.","","SELECT CUST_ID,"," CLUSTER_ID,"," ROUND(PROB*100,2) PROB_PCT,"," RTRIM(TRIM(SUBSTR(OUTPRED.\"Attribute1\",17,100)),'rank=\"1\"/>') FIRST_ATTRIBUTE,"," RTRIM(TRIM(SUBSTR(OUTPRED.\"Attribute2\",17,100)),'rank=\"2\"/>') SECOND_ATTRIBUTE,"," RTRIM(TRIM(SUBSTR(OUTPRED.\"Attribute3\",17,100)),'rank=\"3\"/>') THIRD_ATTRIBUTE","FROM (SELECT CUST_ID, S.CLUSTER_ID, PROBABILITY PROB, "," CLUSTER_DETAILS(KM_SH_CLUS_SAMPLE USING T.*) DETAIL"," FROM (SELECT V.*, CLUSTER_SET(KM_SH_CLUS_SAMPLE, NULL, 0.2 USING *) PSET"," FROM CUSTOMERS360_V V"," WHERE cust_id = ${CUST_ID ='101362','101362'|'102087'| '100456'}) T,"," TABLE(T.PSET) S"," ORDER BY 2 DESC) OUT,"," XMLTABLE('/Details'"," PASSING OUT.DETAIL"," COLUMNS "," \"Attribute1\" XMLType PATH 'Attribute[1]',"," \"Attribute2\" XMLType PATH 'Attribute[2]',"," \"Attribute3\" XMLType PATH 'Attribute[3]') OUTPRED;"],"enabled":true,"result":{"startTime":1715349428096,"interpreter":"sql.low","endTime":1715349428423,"results":[{"message":"CUST_ID\tCLUSTER_ID\tPROB_PCT\tFIRST_ATTRIBUTE\tSECOND_ATTRIBUTE\tTHIRD_ATTRIBUTE\n101362\t9\t22.22\t\"Y_BOX_GAMES\" actualValue=\"1\" weight=\".077\" \t\"CUST_YEAR_OF_BIRTH\" actualValue=\"1978\" weight=\".041\" \t\"CUST_CREDIT_LIMIT\" actualValue=\"11000\" weight=\".024\" \n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":7,"hideResult":false,"dynamicFormParams":"{\"CUST_ID\":\"'101362'\",\"cluster_id\":\"'5'\",\"s.cluster_id\":\"'5'\",\"cust_id\":\"'100456'\"}","row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[{\"type\":\"Select\",\"name\":\"CUST_ID\",\"displayName\":null,\"defaultValue\":\"'101362'\",\"argument\":null,\"options\":[{\"value\":\"'101362'\",\"displayName\":null},{\"value\":\"'102087'\",\"displayName\":null},{\"value\":\"'100456'\",\"displayName\":null}],\"isHidden\":false,\"isProgrammatic\":false}]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"List 5 rows that are anomalous compared to their Clusters","message":["%sql","","-- List top 5 rows that are most unusual as measured by their distance from the cluster centroids. ","-- A row that is far from all cluster centroids may be anomalous.","","SELECT *","FROM (SELECT CUST_ID, RANK() OVER (ORDER BY CLUSTER_DISTANCE(KM_SH_CLUS_SAMPLE USING *) DESC) RANK_ANOMALOUS,"," round(CLUSTER_DISTANCE(KM_SH_CLUS_SAMPLE USING *),3) DISTANCE_TO_CENTROID"," FROM CUSTOMERS360_V)","WHERE RANK_ANOMALOUS <= 5","ORDER BY RANK_ANOMALOUS;"],"enabled":true,"result":{"startTime":1715349428498,"interpreter":"sql.low","endTime":1715349428626,"results":[{"message":"CUST_ID\tRANK_ANOMALOUS\tDISTANCE_TO_CENTROID\n102555\t1\t5.064\n103165\t2\t4.636\n100210\t3\t4.43\n102011\t4\t4.386\n103921\t5\t4.216\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","## Alternative approach for building clustering model using an analytic function","In addition to creating a persistent model that is stored as a schema object, models can be built and scored on data dynamically using Oracle's analytic function syntax.","","In the following example, we segment customers into 4 groups based on common characteristics and provide the segment assignments. Note that this query does not reference a pre-build clustering model, but rather it segments the input data on the fly. Rerunning the same query with different input will result in a different segmentation. It also provides the main reasons (attributes) why a given customer is placed into a specific cluster.","","Note that the where clause has to be placed outside of the inline view so that the analytic function will build the clustering model on all the data, and not just the selected customers."],"enabled":true,"result":{"startTime":1715349428710,"interpreter":"md.low","endTime":1715349428777,"results":[{"message":"<h2 id=\"alternative-approach-for-building-clustering-model-using-an-analytic-function\">Alternative approach for building clustering model using an analytic function<\/h2>\n<p>In addition to creating a persistent model that is stored as a schema object, models can be built and scored on data dynamically using Oracle's analytic function syntax.<\/p>\n<p>In the following example, we segment customers into 4 groups based on common characteristics and provide the segment assignments. Note that this query does not reference a pre-build clustering model, but rather it segments the input data on the fly. Rerunning the same query with different input will result in a different segmentation. It also provides the main reasons (attributes) why a given customer is placed into a specific cluster.<\/p>\n<p>Note that the where clause has to be placed outside of the inline view so that the analytic function will build the clustering model on all the data, and not just the selected customers.<\/p>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Build and apply a transient model using analytic functions","message":["%sql","","SELECT CUST_ID,"," CLUSTER_ID,"," RTRIM(TRIM(SUBSTR(OUTPRED.\"Attribute1\",17,100)),'rank=\"1\"/>') FIRST_ATTRIBUTE,"," RTRIM(TRIM(SUBSTR(OUTPRED.\"Attribute2\",17,100)),'rank=\"2\"/>') SECOND_ATTRIBUTE,"," RTRIM(TRIM(SUBSTR(OUTPRED.\"Attribute3\",17,100)),'rank=\"3\"/>') THIRD_ATTRIBUTE","FROM (SELECT * "," FROM (SELECT CUST_ID,"," CLUSTER_ID(INTO 4 USING CUST_GENDER, CUST_MARITAL_STATUS, CUST_YEAR_OF_BIRTH, CUST_INCOME_LEVEL, "," CUST_CREDIT_LIMIT, EDUCATION, AFFINITY_CARD, HOUSEHOLD_SIZE, OCCUPATION,"," YRS_RESIDENCE, Y_BOX_GAMES) OVER () CLUSTER_ID,"," CLUSTER_DETAILS(INTO 4 USING CUST_GENDER, CUST_MARITAL_STATUS, CUST_YEAR_OF_BIRTH, CUST_INCOME_LEVEL, "," CUST_CREDIT_LIMIT, EDUCATION, AFFINITY_CARD, HOUSEHOLD_SIZE, OCCUPATION,"," YRS_RESIDENCE, Y_BOX_GAMES) OVER () CLUSTER_DET"," FROM CUSTOMERS360_V)"," ORDER By 1) OUT,"," XMLTABLE('/Details'"," PASSING OUT.CLUSTER_DET"," COLUMNS "," \"Attribute1\" XMLType PATH 'Attribute[1]',"," \"Attribute2\" XMLType PATH 'Attribute[2]',"," \"Attribute3\" XMLType PATH 'Attribute[3]') OUTPRED","FETCH FIRST 10 ROWS ONLY;"," "],"enabled":true,"result":{"startTime":1715349428859,"interpreter":"sql.low","endTime":1715349429137,"results":[{"message":"CUST_ID\tCLUSTER_ID\tFIRST_ATTRIBUTE\tSECOND_ATTRIBUTE\tTHIRD_ATTRIBUTE\n100001\t3\t\"CUST_YEAR_OF_BIRTH\" actualValue=\"1941\" weight=\".059\" \t\"CUST_CREDIT_LIMIT\" actualValue=\"1500\" weight=\".038\" \t\"AFFINITY_CARD\" actualValue=\"0\" weight=\".015\" \n100002\t4\t\"HOUSEHOLD_SIZE\" actualValue=\"2\" weight=\".025\" \t\"CUST_GENDER\" actualValue=\"F\" weight=\".024\" \t\"Y_BOX_GAMES\" actualValue=\"0\" weight=\".019\" \n100003\t4\t\"HOUSEHOLD_SIZE\" actualValue=\"2\" weight=\".025\" \t\"CUST_MARITAL_STATUS\" actualValue=\"NeverM\" weight=\".018\" \t\"Y_BOX_GAMES\" actualValue=\"0\" weight=\".016\" \n100004\t4\t\"CUST_CREDIT_LIMIT\" actualValue=\"15000\" weight=\".038\" \t\"HOUSEHOLD_SIZE\" actualValue=\"2\" weight=\".028\" \t\"CUST_MARITAL_STATUS\" actualValue=\"Divorc.\" weight=\".028\" \n100005\t1\t\"AFFINITY_CARD\" actualValue=\"1\" weight=\".157\" \t\"Y_BOX_GAMES\" actualValue=\"0\" weight=\".009\" \t\"YRS_RESIDENCE\" actualValue=\"5\" weight=\".009\" \n100006\t2\t\"Y_BOX_GAMES\" actualValue=\"1\" weight=\".131\" \t\"CUST_YEAR_OF_BIRTH\" actualValue=\"1983\" weight=\".086\" \t\"YRS_RESIDENCE\" actualValue=\"2\" weight=\".056\" \n100007\t4\t\"CUST_MARITAL_STATUS\" actualValue=\"Divorc.\" weight=\".027\" \t\"HOUSEHOLD_SIZE\" actualValue=\"2\" weight=\".026\" \t\"CUST_GENDER\" actualValue=\"F\" weight=\".026\" \n100008\t4\t\"CUST_CREDIT_LIMIT\" actualValue=\"15000\" weight=\".035\" \t\"HOUSEHOLD_SIZE\" actualValue=\"2\" weight=\".026\" \t\"Y_BOX_GAMES\" actualValue=\"0\" weight=\".019\" \n100009\t1\t\"AFFINITY_CARD\" actualValue=\"1\" weight=\".137\" \t\"EDUCATION\" actualValue=\"Bach.\" weight=\".01\" \t\"OCCUPATION\" actualValue=\"Prof.\" weight=\".007\" \n100010\t2\t\"Y_BOX_GAMES\" actualValue=\"1\" weight=\".115\" \t\"CUST_YEAR_OF_BIRTH\" actualValue=\"1975\" weight=\".046\" \t\"YRS_RESIDENCE\" actualValue=\"3\" weight=\".028\" \n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","## Alternative approach to creating clustering model using a settings table","","The settings table is an alternative way to specify algorithm settings to build the model. We first drop the table, create it, and then populate it with settings before building the model. "],"enabled":true,"result":{"startTime":1715349429218,"interpreter":"md.low","endTime":1715349429278,"results":[{"message":"<h2 id=\"alternative-approach-to-creating-clustering-model-using-a-settings-table\">Alternative approach to creating clustering model using a settings table<\/h2>\n<p>The settings table is an alternative way to specify algorithm settings to build the model. We first drop the table, create it, and then populate it with settings before building the model.<\/p>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"raw","title":"Populate settings table","message":["%script ","","BEGIN EXECUTE IMMEDIATE 'DROP TABLE KM_SH_SAMPLE_SETTINGS PURGE';","EXCEPTION WHEN OTHERS THEN NULL; END;","/","CREATE TABLE KM_SH_SAMPLE_SETTINGS (SETTING_NAME VARCHAR2(30),"," SETTING_VALUE VARCHAR2(4000));","BEGIN DBMS_DATA_MINING.DROP_MODEL('KM_SH_CLUS_SAMPLE');","EXCEPTION WHEN OTHERS THEN NULL; END;","/","","-- See documentation for additional settings","","BEGIN "," INSERT INTO KM_SH_SAMPLE_SETTINGS (SETTING_NAME, SETTING_VALUE) VALUES (DBMS_DATA_MINING.KMNS_DISTANCE,DBMS_DATA_MINING.KMNS_EUCLIDEAN);"," INSERT INTO KM_SH_SAMPLE_SETTINGS (SETTING_NAME, SETTING_VALUE) VALUES (DBMS_DATA_MINING.PREP_AUTO,DBMS_DATA_MINING.PREP_AUTO_ON);"," INSERT INTO KM_SH_SAMPLE_SETTINGS (SETTING_NAME, SETTING_VALUE) VALUES (DBMS_DATA_MINING.KMNS_DETAILS, DBMS_DATA_MINING.KMNS_DETAILS_ALL);"," -- Some other settings:"," -- (dbms_data_mining.kmns_iterations,3);"," -- (dbms_data_mining.kmns_block_growth,2);"," -- (dbms_data_mining.kmns_conv_tolerance,0.01);"," -- (dbms_data_mining.kmns_split_criterion,dbms_data_mining.kmns_variance);"," -- (dbms_data_mining.kmns_min_pct_attr_support,0.1);"," -- (dbms_data_mining.kmns_num_bins,10);","END;","/"],"enabled":true,"result":{"startTime":1715349429359,"interpreter":"script.low","endTime":1715349430456,"results":[{"message":"\nPL/SQL procedure successfully completed.\n\n\n---------------------------\n\nTable KM_SH_SAMPLE_SETTINGS created.\n\n\n---------------------------\n\nPL/SQL procedure successfully completed.\n\n\n---------------------------\n\nPL/SQL procedure successfully completed.\n\n\n---------------------------\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"View the contents of the model settings table","message":["%sql","","-- NOTE: The settings table can be reused or modified across multiple model builds. ","","SELECT * FROM KM_SH_SAMPLE_SETTINGS;"],"enabled":true,"result":{"startTime":1715349430538,"interpreter":"sql.low","endTime":1715349430638,"results":[{"message":"SETTING_NAME\tSETTING_VALUE\nKMNS_DISTANCE\tKMNS_EUCLIDEAN\nPREP_AUTO\tON\nKMNS_DETAILS\tKMNS_DETAILS_ALL\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"raw","title":"Build the k-Means Clustering model","message":["%script","","BEGIN DBMS_DATA_MINING.DROP_MODEL('KM_SH_CLUS_SAMPLE2');","EXCEPTION WHEN OTHERS THEN NULL; END;","/","","BEGIN","DBMS_DATA_MINING.CREATE_MODEL("," MODEL_NAME => 'KM_SH_CLUS_SAMPLE2',"," MINING_FUNCTION => DBMS_DATA_MINING.CLUSTERING,"," DATA_TABLE_NAME => 'CUSTOMERS360_V',"," CASE_ID_COLUMN_NAME => 'CUST_ID',"," SETTINGS_TABLE_NAME => 'KM_SH_SAMPLE_SETTINGS');","END;"],"enabled":true,"result":{"startTime":1715349430716,"interpreter":"script.low","endTime":1715349433721,"results":[{"message":"\nPL/SQL procedure successfully completed.\n\n\n---------------------------\n\nPL/SQL procedure successfully completed.\n\n","type":"TEXT"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":6,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"table","title":"Display the actual settings used by the algorithm","message":["%sql","","SELECT SETTING_NAME, SETTING_VALUE","FROM USER_MINING_MODEL_SETTINGS","WHERE MODEL_NAME = 'KM_SH_CLUS_SAMPLE2'","ORDER BY SETTING_NAME;"],"enabled":true,"result":{"startTime":1715349433801,"interpreter":"sql.low","endTime":1715349433881,"results":[{"message":"SETTING_NAME\tSETTING_VALUE\nALGO_NAME\tALGO_KMEANS\nCLUS_NUM_CLUSTERS\t10\nKMNS_CONV_TOLERANCE\t.001\nKMNS_DETAILS\tKMNS_DETAILS_ALL\nKMNS_DISTANCE\tKMNS_EUCLIDEAN\nKMNS_ITERATIONS\t20\nKMNS_MIN_PCT_ATTR_SUPPORT\t.1\nKMNS_NUM_BINS\t11\nKMNS_RANDOM_SEED\t0\nKMNS_SPLIT_CRITERION\tKMNS_VARIANCE\nODMS_DETAILS\tODMS_ENABLE\nODMS_MISSING_VALUE_TREATMENT\tODMS_MISSING_VALUE_AUTO\nODMS_SAMPLING\tODMS_SAMPLING_DISABLE\nPREP_AUTO\tON\n","type":"TABLE"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":false,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":true,"hideVizConfig":false,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md","## End of Script"],"enabled":true,"result":{"startTime":1715349433964,"interpreter":"md.low","endTime":1715349434030,"results":[{"message":"<h2 id=\"end-of-script\">End of Script<\/h2>\n","type":"HTML"}],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":false,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"},{"col":0,"visualizationConfig":null,"hideInIFrame":false,"selectedVisualization":"html","title":null,"message":["%md"],"enabled":true,"result":{"startTime":1715349434120,"interpreter":"md.low","endTime":1715349434181,"results":[],"taskStatus":"SUCCESS","forms":"[]","status":"SUCCESS"},"sizeX":0,"hideCode":true,"width":12,"hideResult":true,"dynamicFormParams":null,"row":0,"hasTitle":false,"hideVizConfig":true,"hideGutter":true,"relations":[],"forms":"[]"}],"version":"6","snapshot":false,"tags":null}]